package com.example.dishit.model.dbproxy;

import com.example.dishit.model.dish.DishData;

public interface IDBProxy {
    /** Asynchronous. */
    public void storeReceivedDish(String myUserId, DishData data, IDBProxyCallback callback);
    
    /** Aynchronous. Get the dishes that my friends (a.k.a. "Dishers") sent out. */
    public void getLatestReceivedDishes(String myUserId, long afterThisTimeMillis, IDBProxyCallback callback);
    
    /** Asynchronous. Get the dishes that I sent out. */
    public void getLatestSentDishes(String myUserId, long afterThisTimeMillis, IDBProxyCallback callback);
    
    /** Asynchronous. */
    public void broadcastDish(DishData data, IDBProxyCallback callback);
    
    /** Asynchronous. */
    public void getMyDishers(String myUserId, IDBProxyCallback callback);
    /** Asynchronous. */
    public void followerUser(String thisUserId, String userIdToFollow, IDBProxyCallback callback);
    /** Asynchronous. */
    public void unfollowUser(String thisUserId, String userIdToUnfollow, IDBProxyCallback callback);
}
